// Copyright (c) Mysten Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
module coiner::coin_factory {
    use std::option;
    use sui::coin::{Self, Coin, TreasuryCap};
    use sui::transfer;
    use std::vector;
    use sui::tx_context::{Self, TxContext};

    public struct COIN_FACTORY has drop {}

    fun init(witness: COIN_FACTORY, ctx: &mut TxContext) {
        let (treasury, metadata) = coin::create_currency(witness, 6, b"COIN_FACTORY", b"", b"", option::none(), ctx);
        // this actually does not make any sense in real life (metadata should actually be frozen)
        // but makes it easier to find package object in effects (as it will be the only immutable
        // object if metadata is not frozen)
        transfer::public_share_object(metadata);
        transfer::public_transfer(treasury, tx_context::sender(ctx))
    }

    public fun mint_vec(
        cap: &mut TreasuryCap<COIN_FACTORY>,
        value: u64,
        size: u64,
        ctx: &mut TxContext
    ): vector<Coin<COIN_FACTORY>> {
        let mut v = vector::empty<Coin<COIN_FACTORY>>();
        let mut i = 0;
        while (i < size) {
            vector::push_back(&mut v, coin::mint(cap, value, ctx));
            i = i + 1;
        };
        v
    }

    public fun unpack_1(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v)
        )
    }

    public fun unpack_2(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_3(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_4(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_5(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_6(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_7(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_8(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_9(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_10(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_11(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_12(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_13(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_14(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_15(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_16(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_17(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_18(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_19(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_20(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_21(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_22(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_23(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_24(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_25(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_26(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_27(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_28(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_29(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_30(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_31(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_32(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_33(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_34(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_35(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_36(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_37(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_38(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_39(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_40(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_41(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_42(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_43(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_44(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_45(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_46(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_47(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_48(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_49(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_50(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_51(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_52(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_53(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_54(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_55(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_56(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_57(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_58(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_59(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_60(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_61(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_62(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_63(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

    public fun unpack_64(v: &mut vector<Coin<COIN_FACTORY>>): (
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>,
         Coin<COIN_FACTORY>
    ) {
        (
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v),
         vector::pop_back(v)
        )
    }

}
